package org.csu.cms.service;

import org.csu.cms.domain.Category;
import org.csu.cms.domain.Item;
import org.csu.cms.domain.Product;
import org.csu.cms.result.Result;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("CatalogService")
public interface CatalogService {
    // Category
    // 获取所有category列表
    public Result getCategoryList();

    // 通过id查询category
    public Result getCategoryById(String categoryId);

    // 增加category到数据库中
    public Result insertCategory(Category category);

    // 修改category
    public Result updateCategory(Category category);

    // 删除 category
    public Result deleteCategory(String categoryId);



    // Product
    // 获取所有Product表
    public Result getProductList();

    // 通过id查询product
    public Result getProductById(String productId);

    // 通过categoryId查询product列表
    public Result getProductByCategoryId(String categoryId);

    // 增加product到数据库中
    public Result insertProduct(Product product);

    // 更新product到数据库中
    public Result updateProduct(Product product);

    // 根据id删除product
    public Result deleteProduct(String productId);



    // Item
    // 获取所有Item表
    public Result getItemList();

    // 通过id查询Item
    public Result getItemById(String itemId);

    // 通过categoryId查询Item列表
    public Result getItemByCategoryId(String categoryId);

    // 通过productId查询Item列表
    public Result getItemByProductId(String productId);

    // 增加Item到数据库中
    public Result insertItem(Item item);

    // 更新Item到数据库中
    public Result updateItem(Item item);

    // 根据id删除Item
    public Result deleteItem(String itemId);





    // 模糊搜索
    public Result categorySearch(String keyword);

    public Result productSearch(String keyword);

    public Result itemSearch(String keyword);


}
